package com.naiterui.ehp.bp.bo.b2c.order;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

import lombok.Data;

/**
 * <pre>
 *      保存修改退款订单
 * </pre>
 *
 * @author 王泽浩
 * @date 2019/9/30 10:45 上午
 * @since 1.0.0
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class RefundOrderBO implements java.io.Serializable {
    private static final long serialVersionUID = 5091797607901800059L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 订单ID
     */
    @NotNull(message = "订单ID不能为null")
    private Long orderId;

    /**
     * 退款金额
     */
    @Min(value = 1, message = "退款金额必须大于0")
    @NotNull(message = "退款金额不能为null")
    private Integer amount;

    /**
     * 退款方式
     */
    @NotNull(message = "退款方式不能为null")
    private Integer method;

    /**
     * 收款账号
     */
    private String paymentAccount;

    /**
     * 退款原因 1: 客户原因 2: 发货速度 3: 包装损坏 4: 包装不满 5: 发错商品 6: 发漏商品
     */
    @NotNull(message = "退款原因不能为null")
    private Integer reason;

    /**
     * 备注
     */
    private String remark;

    @Override
    public String toString() {
        return "RefundOrderBO{" +
            "id=" + id +
            ", orderId=" + orderId +
            ", amount=" + amount +
            ", method=" + method +
            ", paymentAccount='" + paymentAccount + '\'' +
            ", reason=" + reason +
            ", remark='" + remark + '\'' +
            '}';
    }
}
